
package org.xteam.pascal.parser.ast;

import org.xteam.parser.runtime.Span;

public class Program extends org.xteam.parser.runtime.AstNode {
	
	public org.xteam.parser.runtime.reflect.AstNodeType getNodeType() {
		return PascalAstPackage.INSTANCE.getProgramType();
	}
	
	protected Identifier name;
	protected org.xteam.parser.runtime.AstList<Identifier> arguments;
	protected Block body;
	
	public Program(Span span, Identifier name,org.xteam.parser.runtime.AstList<Identifier> arguments,Block body) {
		super(span);
		this.name = name;
		this.arguments = arguments;
		this.body = body;
	}
	
	
	public Identifier getName() {
		return name;
	}
	
	public void setName(Identifier name) {
		this.name = name;
	}
	
	public org.xteam.parser.runtime.AstList<Identifier> getArguments() {
		return arguments;
	}
	
	public void setArguments(org.xteam.parser.runtime.AstList<Identifier> arguments) {
		this.arguments = arguments;
	}
	
	public Block getBody() {
		return body;
	}
	
	public void setBody(Block body) {
		this.body = body;
	}
	

	public void visit(IPascalVisitor visitor) {
		visitor.visitProgram(this);
	}
}
